feat(studio): gesture-to-keyframes recording#1256
Open
miguel-heygen wants to merge 7 commits into
Open
Conversation
Collaborator
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Jun 7, 2026
8282bdd to
2e6c21e
Compare
ed6ef87 to
c7578e8
Compare
2e6c21e to
b9e42d6
Compare
c7578e8 to
ad82c7b
Compare
b9e42d6 to
1caa83a
Compare
ad82c7b to
a27fa9c
Compare
49c0586 to
3016641
Compare
Gesture recording engine with RAF-based sampling, RDP simplification, velocity-to-ease inference, ghost trail overlay, post-record preview panel, and keyframe commit pipeline. Record button in animation section, R keyboard shortcut, clipboard element context copy with toast, glass toast styling, always-visible render queue actions, and keyframe diamond dedup fix.
da902bc to
fb10b15
Compare
0432ccf to
419f25e
Compare
2 tasks
43adfbf to
b9a7cd6
Compare
… and cache Stabilize the keyframe system after the initial 17-unit implementation. GSAP coordinate system, gesture recording, keyframe cache, auto-update 100% keyframe (_auto flag), re-render optimization, overlay fixes, and dead code cleanup. Remove all strategic debug console.log statements. Gate keyframes behind VITE_STUDIO_ENABLE_KEYFRAMES (default false) for stable release — set to true to enable for bug bashing.
b9a7cd6 to
474856a
Compare
Remove dead ct/ts/td declarations left from refactor — lint was flagging them as unused.
The Studio timeline discovery code stamped data-start/data-duration on ALL GSAP-targeted elements including those inside sub-compositions, using the root composition's duration. This made the visibility system treat sub-composition elements as always-visible, overriding the parent clip's hidden state after the clip window ended. Skip elements that are descendants of a composition host (data-composition-src / data-composition-file) since their visibility is already managed by the parent clip. Reverts style-17-prod baseline to the correct (pre-regression) version.
The data-start/data-duration stamping for timeline discovery must only run in Studio (where __hfStudioManualEditsApply is set). In production renders, stamping elements changes visibility behavior and breaks compositions that rely on CSS/anime.js visibility management.
Replace __hfStudioManualEditsApply check (not set during init) with window.parent !== window (true in iframe = Studio, false in top-level page = production render). Fixes keyframe diamonds not appearing in Studio after the previous guard.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Closes #1252
Test plan